package com.lazily.list_;


import java.util.ArrayList;
import java.util.List;

/**
 * @Author: GZQ
 * @date: 2025/4/19 16:19
 * @description: List 接口常用的方法
 * @version: 1.0
 */

public class ListMethod {
	// 程序入口
	public static void main(String[] args) {
		List list = new ArrayList();
		list.add("小仙女");
		list.add("lazily");
		// void add(int index, Object ele): 在index位置插入ele元素
		// 在index = 1的位置插入一个对象
		list.add(1, "jack");
		System.out.println("list:" + list);


		// boolean addAll(int index, Collection eles): 从index位置开始将eles中的所有元素添加进来
		List list2 = new ArrayList();
		list2.add("tom");
		list2.add("mary");
		list.addAll(1, list2);
		System.out.println("list:" + list);


		// Object get(int index): 获取指定index 位置的元素
		System.out.println(list.get(2)); // mary

		// int IndexOf(Object obj): 返回obj在集合中首次出现的位置
		System.out.println(list.indexOf("jack")); // 3

		// int lastIndexOf(Object obj): 返回obj在当前集合中末次出现的元素
		list.add("jack");
		System.out.println("list:" + list);
		System.out.println(list.lastIndexOf("jack"));

		// Object remove(int index)： 移除指定的元素, 并返回次元素
		list.remove(3);
		System.out.println("list:" + list);

		// Object set(int index, Object ele): 设置指定index位置的元素为ele, 相当于是替换。
		list.set(1, "懒洋洋");
		System.out.println("list:" + list);

		// List subList(int fromIndex, int toIndex): 返回从fromIndex到toIndex位置的子集合
		// 注意返回的子集合 fromIndex <= subList < toIndex
		List reList = list.subList(1, 3); // 区间是前闭后开
		System.out.println("relist:" + reList);
	}
}
